1. Field of the Invention
The present invention generally relates to the storage of video information and, more particularly, to video coding schemes.
2. Background of the Invention
Over the past few decades, the primary format in which video content is stored and distributed has been shifting away from an analog format toward a digital format. Indeed, except for some television broadcasts, nearly all communication of video content is now performed digitally. One of the many advantages of digitally coding video content is that compression methods can be applied to reduce the amount of storage space and bandwidth required for video storage and transmission.
There are several types of video compression methods, some of which are implemented in accordance with various standards provided by the Moving Picture Experts Group (MPEG), such as MPEG-4. MPEG-4 is a developing standard that supports object based video coding, which allows objects to be manipulated before being merged to create a final scene that is presented to a viewer. The objects must be decoded independently from one another, however, so that they may be easily added to and removed from scenes. Hence, each object is part of an elementary stream that does not support prediction from objects in other elementary streams.
In contrast, scalable coding can be used to support prediction from previous and subsequent frames contained in other elementary streams, using either motion compensated or direct prediction for each macroblock, which typically represents a block of 16×16 pixels.
MPEG-4 is divided into a number of parts. Notably, MPEG-4 part 10, also known as H.264/AVC, is used by the HD DVD and Blu-ray Disc DVD formats, as well as broadcasting high definition video. H.264/AVC defines the concepts of slices and flexible macroblock ordering. A slice is a partition of a picture (i.e. frame) that must be able to be decoded without reference to other slices in the same picture. Use of flexible macroblock ordering in H.264/AVC removes the requirement that macroblocks in a slice must be coded in raster scan order. Accordingly, macroblocks in a single slice can be distributed over an entire picture, thus improving error resiliency and easing the task of error concealment in the event of that slice being lost. Notwithstanding, the coding efficiency of H.264/AVC still can be improved upon.